Test Driver Generation from Object-Oriented Interaction Traces
نویسندگان
چکیده
Whereas object-orientation is established as a major paradigm for software development, testing methods specifically targeted towards object-oriented, classbased languages are less common. We propose a formal testing framework for object-oriented programs, based on the observable trace semantics of class components, i.e., for black-box testing. In particular, we propose a test specification language which allows to describe the behavior of the component under test in terms of the expected interaction traces between the component and the tester. The specification language is tailor-made for object-oriented thread-based programming languages like Java and C, e.g., in that it reflects the nested call and return structure of thread-based interactions at the interface. From a given trace specification, a testing environment is synthesized such that component and environment represent an executable closed program. The design of the specification language is a careful balance between two goals: using programming constructs in the style of the target language helps the programmer to specify the interaction without having to learn a completely new specification notation. On the other hand, additional expressions in the specification language which are usually not provided by the target language itself allow to specify the desired trace behavior in a concise, abstract way, hiding the intricacies of the required synchonization code at the lower-level programming language.
منابع مشابه
Java Test Driver Generation from Object-Oriented Interaction Traces
In the context of test-driven development for object-oriented programs, mock objects are increasingly used for unit testing. Several Java mock object frameworks exist, which all have in common that mock objects, realizing the test environment, are directly specified at the Java program level. Though using directly the programming language may facilitate acceptance by software developers at firs...
متن کاملConformance Testing of Distributed Concurrent Systems with Executable Designs
This paper presents a unified approach to test case generation and conformance test execution in a distributed setting. A model in the object-oriented, concurrent modeling language Creol is used both for generating test inputs and as a test oracle. For test case generation, we extend Dynamic Symbolic Execution (also called Concolic Execution) to work with multi-threaded models and use this to g...
متن کاملTest Case Generation and Optimization of Object-Oriented Software using UML Behavioral Models
Testing guarantees the quality of software to be developed in terms of presence of bugs or errors. Testing can be separated into two categories such as White Box and Black Box testing. White box testing is done through detail analysis of program structure where as black box methodology deals with specification and design document i.e. without program details. Thus black box testing methodology ...
متن کاملThe Function of a Chlorite Hand-Bag of the Halil Rud Civilization as Inferred from Its Wear Traces
A chlorite “hand-bag” belonging to the once-called “intercultural style” production, currently on exhibit in the NationalArchaeological Museum, Tehran, is described focusing attention, for the first time, to the peculiar wear traces clearlyvisible on the handle and along its contour. The strong wear suggests that the hand-bag was suspended for a long time ona cord; and that in this setting it w...
متن کاملTechniques for Reducing the Complexity of Object-Oriented Execution Traces
Understanding the behavior of object-oriented systems is almost impossible by merely performing static analysis of the source code. Dynamic analysis approaches are better suited for this purpose. Run time information is typically represented in the form of execution traces that contain object interactions. However, traces can be very large and hard to comprehend. Visualization tools need to imp...
متن کامل